Computer programs may be operated to allow the user to receive information from, and provide information to, the computer programs. In the case of many window-based operating systems, the user can keep several programs running at the same time, and manipulate a particular window of interest to view the information displayed by the program corresponding to that window.
The user may manipulate the windows by moving them around, moving one window in front of another, resizing the window, minimizing the window or maximizing the window to allow the user to view the information the user requires at the time, given the constraints of the size of the screen.
Because many computer programs primarily employ a single primary window that occupies a large portion of the user's computer screen, if the user uses many such computer programs, it can be necessary to perform such manipulations of the various windows many times throughout the day. User's find such manipulations cumbersome. Furthermore, the manipulation takes time and can distract from the user's thought process.
Some of the information provided by some computer programs may be relevant to the user throughout the day, and so the user would prefer to consult the information frequently. Other information displayed by the same program may be relevant only to the task at hand. For example, many conventional chat programs display not only the chat message, but a list of people known to the user with whom communications may be made. The user may not wish to use the chat program until the user sees someone on the list of people with whom the user would like to chat. If the chat program and the list of users occupies a single window, the user is then faced with the dilemma of whether to display the chat program to see the list, yet occupy a large amount of the screen with the complete chat program, or minimize or otherwise hide the window in which the chat program is displayed, but miss the information that someone with whom the user would prefer to chat is available.
The user can reposition the chat window to one side of the screen, and then resize and reposition another program with which that user is working to cover all but the portion of the chat window that displays the list of users with whom communications may be made, but such repositioning and resizing must be performed for every other program the user would like to maintain on his computer screen throughout the day. Not only is this extremely cumbersome, but the user's screen can appear cluttered, making the user experience less than desirable.
Additionally, if the user wishes to use the chat program, the user must bring the window displaying it to the front of the other windows, even if the user only wants to perform some action on the list of users. The remainder of the chat program window will then obscure the other windows the user has open. When the user has completed the task, the user must then remember how to remanipulate the other window or windows in front of the chat program to the way he or she had arranged them before.
It might be possible to design the programs the user uses to display far smaller amounts of information on any one screen, allowing each program to occupy less space on a computer screen. However, this would require the user to advance through so many screens to see the information the user wished to see that it would be undesirable for the user.
Some conventional programs employ two windows to make it easier for the user to manipulate the windows to suit the user's needs. For example, the conventional AOL Instant Messenger product commercially available from America Online Corporation of Dulles, Va. employs a “Buddy List” window containing a list of other potential users of the chat program designated as the user's “buddies”. The Buddy List window appears in a separate window from the portion of the chat program that is used to chat with other users. The Buddy List program can also be used to launch still other programs using icons displayed in the Buddy List program. Still other programs, such as a stock ticker, run in the buddy list window.
However, each program launched from the Buddy list program spawns its own new window, different from the windows spawned by the others, adding to the cluttered appearance of the screen. Furthermore, there is no way for the user to add or remove programs that appear in the Buddy List window, requiring users who are disinterested in stock ticker information to view the stock ticker all day long, or reposition or resize the window or other windows to block it. Additionally, because the Buddy List window is not limited to information the user has selected, but also contains buttons to launch various programs, the window that a user is most likely to want to have persist on his computer system during the day is made much larger than is necessary for a user who just wants to see the buddy list. Additionally, the buddy list window appears to have to remain open when the spawned window is used, restricting the user's choice of how to use the available screen space. Also, there is no way to launch the buddy list from the spawned window.
What is needed is a system and method that can allow information from programs that it is desirable to keep displayed on the screen for an extended period of time to be shown in a window small enough to persist on the screen without requiring the user to perform many window manipulations during the day to keep such window out of the way of other windows the user may wish to use, and without forcing the user to view information for other programs the user does not find desirable, while allowing the user to access another larger window of the program that contains more information and may be easier for the user to use, without causing a cluttered appearance on the display screen as the user attempts to use the various programs, and that provides an easy way to switch between the various windows or interact between one window and the other.